import { defaultRequest } from '@shared/utils/request/default-request';
import { ContentTypeEnum } from '@/shared/utils/http/axios';
import {
  getTaoBaoAccountListReq,
  taoBaoAccount,
  addTaoBaoAccountReq,
  updateTaoBaoAccountReq,
  changePwdReq,
  addTaoBaoAccountRes,
  updateTaoBaoAccountSortReq
} from './type';

/**
 * 修改密码相关接口
 */

export function changePwdApi(data: changePwdReq) {
  return defaultRequest.post<any>({
    url: '/api/auth/changepwd',
    data
  });
}

/**
 * 草稿文件检测相关接口
 */

export function draftCheckApi(data: FormData) {
  return defaultRequest.post<boolean>({
    url: '/api/draft/check',
    data,
    headers: {
      'Content-type': ContentTypeEnum.FORM_DATA
    }
  });
}

/**
 * 淘宝账号相关接口
 */
type getTaoBaoAccountListRes = {
  total: number;
  items: taoBaoAccount[];
};

export function getTaoBaoAccountListApi(data: getTaoBaoAccountListReq) {
  return defaultRequest.post<getTaoBaoAccountListRes>({
    url: '/api/taobao/list',
    params: { ...data }
  });
}

export function addTaoBaoAccountApi(data: addTaoBaoAccountReq[]) {
  return defaultRequest.post<addTaoBaoAccountRes>({
    url: '/api/taobao',
    data
  });
}

export function updateTaoBaoAccountApi(data: updateTaoBaoAccountReq) {
  return defaultRequest.post<boolean>({
    url: '/api/taobao/modify',
    data
  });
}

export function updateTaoBaoAccountSortApi(data: updateTaoBaoAccountSortReq) {
  return defaultRequest.post<boolean>({
    url: '/api/taobao/modifysort',
    data
  });
}

export function deleteTaoBaoAccountApi(id: number) {
  return defaultRequest.delete<boolean>({
    url: '/api/taobao',
    data: id
  });
}
